home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / AIFF.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  6.4 KB  |  204 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AIFF.a
  3. ;
  4. ;    Contains:    Definition of AIFF file format components.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1989-1995, 1997-1998 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__AIFF__') = 'UNDEFINED' THEN
  18. __AIFF__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.  
  24.  
  25. AIFFID                            EQU        'AIFF'
  26. AIFCID                            EQU        'AIFC'
  27. FormatVersionID                    EQU        'FVER'
  28. CommonID                        EQU        'COMM'
  29. FORMID                            EQU        'FORM'
  30. SoundDataID                        EQU        'SSND'
  31. MarkerID                        EQU        'MARK'
  32. InstrumentID                    EQU        'INST'
  33. MIDIDataID                        EQU        'MIDI'
  34. AudioRecordingID                EQU        'AESD'
  35. ApplicationSpecificID            EQU        'APPL'
  36. CommentID                        EQU        'COMT'
  37. NameID                            EQU        'NAME'
  38. AuthorID                        EQU        'AUTH'
  39. CopyrightID                        EQU        '(c) '
  40. AnnotationID                    EQU        'ANNO'
  41.  
  42. NoLooping                        EQU        0
  43. ForwardLooping                    EQU        1
  44. ForwardBackwardLooping            EQU        2                    ; AIFF-C Versions 
  45. AIFCVersion1                    EQU        $A2805140
  46.  
  47.  
  48.  
  49.                                                             ; Compression Types 
  50. NoneType                        EQU        'NONE'
  51. ACE2Type                        EQU        'ACE2'
  52. ACE8Type                        EQU        'ACE8'
  53. MACE3Type                        EQU        'MAC3'
  54. MACE6Type                        EQU        'MAC6'
  55. ; typedef unsigned long                 ID
  56.  
  57. ; typedef short                         MarkerIdType
  58.  
  59. ChunkHeader                RECORD 0
  60. ckID                     ds.l    1                ; offset: $0 (0)
  61. ckSize                     ds.l    1                ; offset: $4 (4)
  62. sizeof                     EQU *                    ; size:   $8 (8)
  63.                         ENDR
  64. ContainerChunk            RECORD 0
  65. ckID                     ds.l    1                ; offset: $0 (0)
  66. ckSize                     ds.l    1                ; offset: $4 (4)
  67. formType                 ds.l    1                ; offset: $8 (8)
  68. sizeof                     EQU *                    ; size:   $C (12)
  69.                         ENDR
  70. FormatVersionChunk        RECORD 0
  71. ckID                     ds.l    1                ; offset: $0 (0)
  72. ckSize                     ds.l    1                ; offset: $4 (4)
  73. timestamp                 ds.l    1                ; offset: $8 (8)
  74. sizeof                     EQU *                    ; size:   $C (12)
  75.                         ENDR
  76. ; typedef struct FormatVersionChunk *    FormatVersionChunkPtr
  77.  
  78. CommonChunk                RECORD 0
  79. ckID                     ds.l    1                ; offset: $0 (0)
  80. ckSize                     ds.l    1                ; offset: $4 (4)
  81. numChannels                 ds.w    1                ; offset: $8 (8)
  82. numSampleFrames             ds.l    1                ; offset: $A (10)
  83. sampleSize                 ds.w    1                ; offset: $E (14)
  84. sampleRate                 ds        extended80        ; offset: $10 (16)
  85. sizeof                     EQU *                    ; size:   $1A (26)
  86.                         ENDR
  87. ; typedef struct CommonChunk *            CommonChunkPtr
  88.  
  89. ExtCommonChunk            RECORD 0
  90. ckID                     ds.l    1                ; offset: $0 (0)
  91. ckSize                     ds.l    1                ; offset: $4 (4)
  92. numChannels                 ds.w    1                ; offset: $8 (8)
  93. numSampleFrames             ds.l    1                ; offset: $A (10)
  94. sampleSize                 ds.w    1                ; offset: $E (14)
  95. sampleRate                 ds        extended80        ; offset: $10 (16)
  96. compressionType             ds.l    1                ; offset: $1A (26)
  97. compressionName             ds.b    1                ; offset: $1E (30) <-- really an array of length one ;  variable length array, Pascal string 
  98.                          ORG 32
  99. sizeof                     EQU *                    ; size:   $20 (32)
  100.                         ENDR
  101. ; typedef struct ExtCommonChunk *        ExtCommonChunkPtr
  102.  
  103. SoundDataChunk            RECORD 0
  104. ckID                     ds.l    1                ; offset: $0 (0)
  105. ckSize                     ds.l    1                ; offset: $4 (4)
  106. offset                     ds.l    1                ; offset: $8 (8)
  107. blockSize                 ds.l    1                ; offset: $C (12)
  108. sizeof                     EQU *                    ; size:   $10 (16)
  109.                         ENDR
  110. ; typedef struct SoundDataChunk *        SoundDataChunkPtr
  111.  
  112. Marker                    RECORD 0
  113. id                         ds.w    1                ; offset: $0 (0)
  114. position                 ds.l    1                ; offset: $2 (2)
  115. markerName                 ds        Str255            ; offset: $6 (6)
  116. sizeof                     EQU *                    ; size:   $106 (262)
  117.                         ENDR
  118. MarkerChunk                RECORD 0
  119. ckID                     ds.l    1                ; offset: $0 (0)
  120. ckSize                     ds.l    1                ; offset: $4 (4)
  121. numMarkers                 ds.w    1                ; offset: $8 (8)
  122. Markers                     ds        Marker            ; offset: $A (10) <-- really an array of length one ;  variable length array 
  123. sizeof                     EQU *                    ; size:   $110 (272)
  124.                         ENDR
  125. ; typedef struct MarkerChunk *            MarkerChunkPtr
  126.  
  127. AIFFLoop                RECORD 0
  128. playMode                 ds.w    1                ; offset: $0 (0)
  129. beginLoop                 ds.w    1                ; offset: $2 (2)
  130. endLoop                     ds.w    1                ; offset: $4 (4)
  131. sizeof                     EQU *                    ; size:   $6 (6)
  132.                         ENDR
  133. InstrumentChunk            RECORD 0
  134. ckID                     ds.l    1                ; offset: $0 (0)
  135. ckSize                     ds.l    1                ; offset: $4 (4)
  136. baseFrequency             ds.b    1                ; offset: $8 (8)
  137. detune                     ds.b    1                ; offset: $9 (9)
  138. lowFrequency             ds.b    1                ; offset: $A (10)
  139. highFrequency             ds.b    1                ; offset: $B (11)
  140. lowVelocity                 ds.b    1                ; offset: $C (12)
  141. highVelocity             ds.b    1                ; offset: $D (13)
  142. gain                     ds.w    1                ; offset: $E (14)
  143. sustainLoop                 ds        AIFFLoop        ; offset: $10 (16)
  144. releaseLoop                 ds        AIFFLoop        ; offset: $16 (22)
  145. sizeof                     EQU *                    ; size:   $1C (28)
  146.                         ENDR
  147. ; typedef struct InstrumentChunk *        InstrumentChunkPtr
  148.  
  149. MIDIDataChunk            RECORD 0
  150. ckID                     ds.l    1                ; offset: $0 (0)
  151. ckSize                     ds.l    1                ; offset: $4 (4)
  152. MIDIdata                 ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array 
  153.                          ORG 10
  154. sizeof                     EQU *                    ; size:   $A (10)
  155.                         ENDR
  156. ; typedef struct MIDIDataChunk *        MIDIDataChunkPtr
  157.  
  158. AudioRecordingChunk        RECORD 0
  159. ckID                     ds.l    1                ; offset: $0 (0)
  160. ckSize                     ds.l    1                ; offset: $4 (4)
  161. AESChannelStatus         ds.b    24                ; offset: $8 (8)
  162. sizeof                     EQU *                    ; size:   $20 (32)
  163.                         ENDR
  164. ; typedef struct AudioRecordingChunk *    AudioRecordingChunkPtr
  165.  
  166. ApplicationSpecificChunk RECORD 0
  167. ckID                     ds.l    1                ; offset: $0 (0)
  168. ckSize                     ds.l    1                ; offset: $4 (4)
  169. applicationSignature     ds.l    1                ; offset: $8 (8)
  170. data                     ds.b    1                ; offset: $C (12) <-- really an array of length one ;  variable length array 
  171.                          ORG 14
  172. sizeof                     EQU *                    ; size:   $E (14)
  173.                         ENDR
  174. ; typedef struct ApplicationSpecificChunk * ApplicationSpecificChunkPtr
  175.  
  176. Comment                    RECORD 0
  177. timeStamp                 ds.l    1                ; offset: $0 (0)
  178. marker                     ds.w    1                ; offset: $4 (4)
  179. count                     ds.w    1                ; offset: $6 (6)
  180. text                     ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array, Pascal string 
  181.                          ORG 10
  182. sizeof                     EQU *                    ; size:   $A (10)
  183.                         ENDR
  184. CommentsChunk            RECORD 0
  185. ckID                     ds.l    1                ; offset: $0 (0)
  186. ckSize                     ds.l    1                ; offset: $4 (4)
  187. numComments                 ds.w    1                ; offset: $8 (8)
  188. comments                 ds        Comment            ; offset: $A (10) <-- really an array of length one ;  variable length array 
  189. sizeof                     EQU *                    ; size:   $14 (20)
  190.                         ENDR
  191. ; typedef struct CommentsChunk *        CommentsChunkPtr
  192.  
  193. TextChunk                RECORD 0
  194. ckID                     ds.l    1                ; offset: $0 (0)
  195. ckSize                     ds.l    1                ; offset: $4 (4)
  196. text                     ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array, Pascal string 
  197.                          ORG 10
  198. sizeof                     EQU *                    ; size:   $A (10)
  199.                         ENDR
  200. ; typedef struct TextChunk *            TextChunkPtr
  201.  
  202.     ENDIF ; __AIFF__ 
  203.  
  204.